<?php
class class_pacientes
{
	private $_db;
	function __construct()
	{
		$this->config();
	}
	function method_getPacientes($params, $error) {
		$p = $params[0];
		
		if ($p->input) {
			$WHERE = "";
			$buscar = explode(" ", $p->input);
			foreach ($buscar as $palabra) {
				$palabra = trim($palabra);
				if ($WHERE) {
					//$WHERE .= "AND (pacientes.apellido LIKE '%" . $palabra . "%' OR pacientes.nombres LIKE '%" . $palabra . "%') ";
					$WHERE .= " AND (dni_paciente LIKE '" . $palabra . "%'
					OR apellido LIKE '%" . $palabra . "%'
					OR nombres LIKE '%" . $palabra . "%') ";
				} else {
					//$WHERE .= "WHERE ((pacientes.apellido LIKE '%" . $palabra . "%' OR pacientes.nombres LIKE '%" . $palabra . "%') ";
					$WHERE = " WHERE (dni_paciente LIKE '" . $palabra . "%'
					OR apellido LIKE '%" . $palabra . "%'
					OR nombres LIKE '%" . $palabra . "%') ";
				}
			}
// 			$WHERE = " WHERE dni_paciente LIKE '" . $p->input . "%' 
// 			OR apellido LIKE '%" . $p->input . "%' 
// 			OR nombres LIKE '%" . $p->input . "%'
// 			LIMIT " . $p->maxDisplay . " ";
			$WHERE .= " LIMIT " . $p->maxDisplay . " ";
		}
		
		$q = mysql_query("
		SELECT dni_paciente as value, 
		CONCAT(dni_paciente, ' - ', apellido, ', ', nombres) as label
		FROM pacientes
		" . $WHERE . "
		");
		
		while ($r = mysql_fetch_object($q)) {
			$res []= $r;
		}
		return $res;
	}
	
	function method_existePaciente($params, $error)
	{
		if (count($params) != 1) {
			$error->SetError(JsonRpcError_ParameterMismatch, "Expected 1 parameter; got " . count($params)); return $error;
		}
		$this->_db->setQuery("
    	SELECT dni_paciente, 
    	CONCAT(pacientes.apellido, ', ', pacientes.nombres) AS nombre,
    	origen,
    	usuario AS medico
    	FROM pacientes 
    	LEFT JOIN usuarios USING(dni_usuario)
    	WHERE dni_paciente = '" . $params[0] . "'");
		$this->_db->alter();
		if (mysql_error()) {
			$error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error;
		}
		$reg = $this->_db->loadResult();
		if (count($this->_db->loadResult()) > 0){
			switch ($reg[0]->origen) {
				case 'P':
					$reg[0]->origen = 'PERSONAL';
					break;
				case 'C':
					$reg[0]->origen = 'CARAFFA';
					break;
				case 'O':
					$reg[0]->origen = 'POLICLINICO';
					break;
				default:
					$reg[0]->origen = '';
				break;
			}
			$result->nombre = "&nbsp;&nbsp;".$reg[0]->nombre . " <br>&nbsp;&nbsp;" . $reg[0]->origen . " : " . $reg[0]->medico . "";
			return $result;
		}
		else{
			return false;
		}
	}

	function method_detallesPaciente($params, $error)
	{
		//PLAN1
		$this->_db->setQuery("
        	SELECT 
        		obras_sociales.descripcion AS obraSocial,
        		planes.descripcion AS plan,
        		planes.detalles AS detalles
        	FROM pacientes
        	INNER JOIN planes ON planes.cod_plan = pacientes.cod_plan1
        	INNER JOIN obras_sociales ON obras_sociales.cod_obra_social = planes.cod_obra_social
        	WHERE dni_paciente = '".$params[0]->dni."'
        "); 
		$this->_db->alter();
		if (mysql_error()) {
			$error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error;
		}
		$reg = $this->_db->loadResult();
		if($reg[0]->obraSocial ==""){
			$result->obraSocial1 = "NO POSEE";
			$result->plan1 = "";
			$result->detalles1 = "";
		}
		else{
			$result->obraSocial1 = $reg[0]->obraSocial;
			$result->plan1 = $reg[0]->plan;
			$result->detalles1 = $reg[0]->detalles;
		}

		//PLAN2
		$this->_db->setQuery("
		        	SELECT 
		        		obras_sociales.descripcion AS obraSocial,
		        		planes.descripcion AS plan,
		        		planes.detalles AS detalles
		        	FROM pacientes
		        	INNER JOIN planes ON planes.cod_plan = pacientes.cod_plan2
		        	INNER JOIN obras_sociales ON obras_sociales.cod_obra_social = planes.cod_obra_social
		        	WHERE dni_paciente = '".$params[0]->dni."'
		        "); 
		$this->_db->alter();
		if (mysql_error()) {
			$error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error;
		}
		$reg = $this->_db->loadResult();
		if($reg[0]->obraSocial ==""){
			$result->obraSocial2 = "NO POSEE";
			$result->plan2 = "";
			$result->detalles2 = "";
		}
		else{
			$result->obraSocial2 = $reg[0]->obraSocial;
			$result->plan2 = $reg[0]->plan;
			$result->detalles2 = $reg[0]->detalles;
		}
		
		return $result;
	}
	
	private function config()
	{
		require_once("conexion.php");
		require_once("DataBase.php");
		$this->_db = new DataBase($SERVIDOR,$USUARIO,$PASSWORD,$BASE);
		mysql_query("SET NAMES utf8");
	}
}
?>